Skip to content

chore: migrate to pnpm 11 + add minimumReleaseAge#202

Merged
feugy merged 4 commits into
mainfrom
chore/pnpm-11-migration
May 21, 2026
Merged

chore: migrate to pnpm 11 + add minimumReleaseAge#202
feugy merged 4 commits into
mainfrom
chore/pnpm-11-migration

Conversation

@feugy
Copy link
Copy Markdown
Member

@feugy feugy commented May 21, 2026

🖖 What's in there?

Upgrade pnpm from v8.6.5 to v11.1.3 to leverage performance improvements and stricter dependency resolution. This is a major version jump that requires adjustments to lockfile format, allowlist configuration for packages with lifecycle scripts, and explicit pinning of React peer dependencies in web package to maintain version consistency across tests.

🔬 Notes to reviewers

pnpm v10+ enforces stricter lifecycle script policies by default, blocking dependency build scripts unless explicitly allowed. The pnpm-workspace.yaml now includes an allowBuilds allowlist for 6 packages that require build-time scripts: @parcel/watcher, @swc/core, esbuild, lefthook, sharp, and unrs-resolver.

pnpm v11's stricter peer dependency resolution split React and ReactDOM into separate major versions (react@18 + react-dom@19) when pulled transitively. Both are now explicitly pinned to ^18.3.1 in packages/web/package.json devDependencies to keep them in lockstep and prevent test failures.

The lockfile format has been upgraded from v6 to v9. CI integration requires no changes—the pipeline uses corepack and respects the packageManager field in package.json.

@vercel
Copy link
Copy Markdown

vercel Bot commented May 21, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
analytics-astro Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-next15 Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-nextjs Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-nuxt Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-remix Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-sveltekit Ready Ready Preview, Comment May 21, 2026 8:10am
analytics-vue Ready Ready Preview, Comment May 21, 2026 8:10am

Request Review

@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 21, 2026

pnpm 9 (used by Vercel by default) was enforcing engines.node on
transitive deps. The packages/web nuxt devDep chain requires Node 22+,
but the Vercel sveltekit project runs Node 20, blocking install of the
entire workspace even though sveltekit doesn't use nuxt.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was a no-op; Node version bumped on the Vercel project instead.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The external https://va.vercel-scripts.com/v1/script.debug.js changed
its pageview log prefix from `[pageview]` to `[view]`, breaking the dev
e2e tests on main since around March 2026. Update the two affected
specs to match the current upstream format.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@feugy feugy merged commit 5bda9db into main May 21, 2026
14 checks passed
@feugy feugy deleted the chore/pnpm-11-migration branch May 21, 2026 08:19
@feugy feugy changed the title chore: migrate to pnpm 11 chore: migrate to pnpm 11 + add minimumReleaseAge May 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants